//package net.oschina.app.v2;
//
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileOutputStream;
//import java.util.Properties;
//
//import net.oschina.app.v2.model.AccessInfo;
//import net.oschina.app.v2.utils.StringUtils;
//import android.annotation.SuppressLint;
//import android.content.Context;
//import android.content.SharedPreferences;
//import android.os.Environment;
//import android.preference.PreferenceManager;
//
///**
// * 应用程序配置类：用于保存用户相关信息及设置
// *
// * @author liux (http://my.oschina.net/liux)
// * @version 1.0
// * @created 2012-3-21
// */
//@SuppressLint("NewApi")
//public class AppConfig {
//
//	private final static String APP_CONFIG = "config";
//
//	public final static String TEMP_TWEET = "temp_tweet";
//	public final static String TEMP_TWEET_IMAGE = "temp_tweet_image";
//	public final static String TEMP_MESSAGE = "temp_message";
//	public final static String TEMP_COMMENT = "temp_comment";
//	public final static String TEMP_POST_TITLE = "temp_post_title";
//	public final static String TEMP_POST_CATALOG = "temp_post_catalog";
//	public final static String TEMP_POST_CONTENT = "temp_post_content";
//
//	public final static String CONF_APP_UNIQUEID = "APP_UNIQUEID";
//	public final static String CONF_COOKIE = "cookie";
//	public final static String CONF_ACCESSTOKEN = "accessToken";
//	public final static String CONF_ACCESSSECRET = "accessSecret";
//	public final static String CONF_EXPIRESIN = "expiresIn";
//	public final static String CONF_LOAD_IMAGE = "perf_loadimage";
//	public final static String CONF_SCROLL = "perf_scroll";
//	public final static String CONF_HTTPS_LOGIN = "perf_httpslogin";
//	public final static String CONF_VOICE = "perf_voice";
//	public final static String CONF_CHECKUP = "perf_checkup";
//
//	public final static String SAVE_IMAGE_PATH = "save_image_path";
//	@SuppressLint("NewApi")
//	public final static String DEFAULT_SAVE_IMAGE_PATH = Environment.getExternalStorageDirectory()+ File.separator+ "OSChina"+ File.separator;
//
//	private Context mContext;
//	private AccessInfo accessInfo = null;
//	private static AppConfig appConfig;
//
//	public static AppConfig getAppConfig(Context context) {
//		if (appConfig == null) {
//			appConfig = new AppConfig();
//			appConfig.mContext = context;
//		}
//		return appConfig;
//	}
//
//	/**
//	 * 获取Preference设置
//	 */
//	public static SharedPreferences getSharedPreferences(Context context) {
//		return PreferenceManager.getDefaultSharedPreferences(context);
//	}
//
//	/**
//	 * 是否加载显示文章图片
//	 */
//	public static boolean isLoadImage(Context context) {
//		return getSharedPreferences(context).getBoolean(CONF_LOAD_IMAGE, true);
//	}
//
//	public String getCookie() {
//		return get(CONF_COOKIE);
//	}
//
//	public void setAccessToken(String accessToken) {
//		set(CONF_ACCESSTOKEN, accessToken);
//	}
//
//	public String getAccessToken() {
//		return get(CONF_ACCESSTOKEN);
//	}
//
//	public void setAccessSecret(String accessSecret) {
//		set(CONF_ACCESSSECRET, accessSecret);
//	}
//
//	public String getAccessSecret() {
//		return get(CONF_ACCESSSECRET);
//	}
//
//	public void setExpiresIn(long expiresIn) {
//		set(CONF_EXPIRESIN, String.valueOf(expiresIn));
//	}
//
//	public long getExpiresIn() {
//		return StringUtils.toLong(get(CONF_EXPIRESIN));
//	}
//
//	public void setAccessInfo(String accessToken, String accessSecret,
//			long expiresIn) {
//		if (accessInfo == null)
//			accessInfo = new AccessInfo();
//		accessInfo.setAccessToken(accessToken);
//		accessInfo.setAccessSecret(accessSecret);
//		accessInfo.setExpiresIn(expiresIn);
//		// 保存到配置
//		this.setAccessToken(accessToken);
//		this.setAccessSecret(accessSecret);
//		this.setExpiresIn(expiresIn);
//	}
//
//	public AccessInfo getAccessInfo() {
//		if (accessInfo == null && !StringUtils.isEmpty(getAccessToken())
//				&& !StringUtils.isEmpty(getAccessSecret())) {
//			accessInfo = new AccessInfo();
//			accessInfo.setAccessToken(getAccessToken());
//			accessInfo.setAccessSecret(getAccessSecret());
//			accessInfo.setExpiresIn(getExpiresIn());
//		}
//		return accessInfo;
//	}
//
//	public String get(String key) {
//		Properties props = get();
//		return (props != null) ? props.getProperty(key) : null;
//	}
//
//	public Properties get() {
//		FileInputStream fis = null;
//		Properties props = new Properties();
//		try {
//			// 读取files目录下的config
//			// fis = activity.openFileInput(APP_CONFIG);
//
//			// 读取app_config目录下的config
//			File dirConf = mContext.getDir(APP_CONFIG, Context.MODE_MULTI_PROCESS);
//			fis = new FileInputStream(dirConf.getPath() + File.separator
//					+ APP_CONFIG);
//
//			props.load(fis);
//		} catch (Exception e) {
//		} finally {
//			try {
//				fis.close();
//			} catch (Exception e) {
//			}
//		}
//		return props;
//	}
//
//	private void setProps(Properties p) {
//		FileOutputStream fos = null;
//		try {
//			// 把config建在files目录下
//			// fos = activity.openFileOutput(APP_CONFIG, Context.MODE_PRIVATE);
//
//			// 把config建在(自定义)app_config的目录下
//			File dirConf = mContext.getDir(APP_CONFIG, Context.MODE_MULTI_PROCESS);
//			File conf = new File(dirConf, APP_CONFIG);
//			fos = new FileOutputStream(conf);
//
//			p.store(fos, null);
//			fos.flush();
//		} catch (Exception e) {
//			e.printStackTrace();
//		} finally {
//			try {
//				fos.close();
//			} catch (Exception e) {
//			}
//		}
//	}
//
//	public void set(Properties ps) {
//		Properties props = get();
//		props.putAll(ps);
//		setProps(props);
//	}
//
//	public void set(String key, String value) {
//		Properties props = get();
//		props.setProperty(key, value);
//		setProps(props);
//	}
//
//	public void remove(String... key) {
//		Properties props = get();
//		for (String k : key)
//			props.remove(k);
//		setProps(props);
//	}
//}
